
/* 板载led初始化操作
 * LED1 GPIO12 W24; LED2 GPIOB11 W25
 */

#include "led.h"

void led_init(){
    GPIOBALTFN0 &= ~((3 << 24) | (3 << 22));    // 交替函数功能选择
    GPIOBOUTENB &= ~((1 << 12) | (1 << 11));    // 输出模式使能
    //GPIOBOUT &= ~((1 << 12) | (1 << 11));     // 电平

    GPIOBOUT |= (1 << 12) | (1 << 11);
    GPIOBALTFN0 |= (2 << 24) | (2 << 22);
    GPIOBOUTENB |= (1 << 12) | (1 << 11);
}

void led1_off(){
    GPIOBOUT |= (1 << 12);
}

void led1_on(){
    GPIOBOUT &= ~(1 << 12);
}

void led2_off(){
    GPIOBOUT |= (1 << 11);
}

void led2_on(){
    GPIOBOUT &= ~(1 << 11);
}

void led(int x){
    switch(x){
        case 0:
            led1_off();
            led2_off();
            break;
        case 1:
            led1_on();
            led2_off();
            break;
        case 2:
            led1_off();
            led2_on();
            break;
        case 3:
            led1_on();
            led2_on();
            break;
    }
}